package com.jumi.microservice.domain;

import com.jumi.microservice.domain.base.BaseEntity;
import com.jumi.microservice.dto.comment.dto.CommentApiOneResponse;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 商品详情
 *
 * @author Administrator
 */
@ApiModel(value = "商品详情", description = "商品详情")
public class GoodsDetailVO extends BaseEntity {

    @ApiModelProperty(value = "商品id")
    private Long goodsId;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "商品类型1：单个商品；2：第三方商品;3:商品组合")
    private Integer goodsType;

    @ApiModelProperty(value = "商品描述")
    private String goodsDescription;

    @ApiModelProperty(value = "品牌名称")
    private String brandName;

    @ApiModelProperty(value = "商品最小价格")
    private BigDecimal minGoodsPrice;

    @ApiModelProperty(value = "商品最大价格")
    private BigDecimal maxGoodsPrice;

    @ApiModelProperty(value = "最小市场价")
    private BigDecimal minGoodsMarketprice;

    @ApiModelProperty(value = "付邮领商品价格")
    private BigDecimal freeGoodsPrice = BigDecimal.ZERO;

    @ApiModelProperty(value = "最大市场价")
    private BigDecimal maxGoodsMarketprice;

    @ApiModelProperty(value = "商品详情的内容")
    private String goodsBody;

    @ApiModelProperty(value = "商品图片")
    private List<GoodsPictureDetailVO> goodsImage = new ArrayList<>();

    @ApiModelProperty(value = "商品标签")
    private List<String> label = new ArrayList<>();

    @ApiModelProperty(value = "素材")
    private SourceMaterialDetailVO sourceMaterial;

    @ApiModelProperty(value = "sku集合")
    private List<SkuDetailVO> goodsSkus = new ArrayList<>();

    @ApiModelProperty(value = "库存")
    private Integer saleStockQuantity = 0;

    @ApiModelProperty(value = "已售库存")
    private Integer saledStockQuantity = 0;

    @ApiModelProperty(value = "自购省钱")
    private BigDecimal selfPurchaseMoney;

    @ApiModelProperty(value = "分享赚钱")
    private String shareMoney;

    @ApiModelProperty(value = "商品活动")
    private GoodsActivityVO goodsActivityVO;

    @ApiModelProperty(value = "商品是否收藏")
    private Boolean favorites = Boolean.FALSE;

    @ApiModelProperty(value = "商品评论")
    private CommentApiOneResponse commentApiOneResponse;

    @ApiModelProperty(value = "商品状态:true上架 false下架")
    private Boolean goodsState;

    @ApiModelProperty(value = "代理商信息")
    private MemberVO member;

    @ApiModelProperty(value = "是否是海外")
    private Integer isImport;

    @ApiModelProperty(value = "视频地址")
    private String videoUrl;

    public Long getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }

    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public String getGoodsDescription() {
        return goodsDescription;
    }

    public void setGoodsDescription(String goodsDescription) {
        this.goodsDescription = goodsDescription;
    }

    public String getGoodsBody() {
        return goodsBody;
    }

    public void setGoodsBody(String goodsBody) {
        this.goodsBody = goodsBody;
    }

    public List<GoodsPictureDetailVO> getGoodsImage() {
        return goodsImage;
    }

    public void setGoodsImage(List<GoodsPictureDetailVO> goodsImage) {
        this.goodsImage = goodsImage;
    }

    public List<String> getLabel() {
        return label;
    }

    public void setLabel(List<String> label) {
        this.label = label;
    }

    public SourceMaterialDetailVO getSourceMaterial() {
        return sourceMaterial;
    }

    public void setSourceMaterial(SourceMaterialDetailVO sourceMaterial) {
        this.sourceMaterial = sourceMaterial;
    }

    public List<SkuDetailVO> getGoodsSkus() {
        return goodsSkus;
    }

    public void setGoodsSkus(List<SkuDetailVO> goodsSkus) {
        this.goodsSkus = goodsSkus;
    }

    public Integer getSaleStockQuantity() {
        return saleStockQuantity;
    }

    public void setSaleStockQuantity(Integer saleStockQuantity) {
        this.saleStockQuantity = saleStockQuantity;
    }

    public BigDecimal getSelfPurchaseMoney() {
        return selfPurchaseMoney;
    }

    public void setSelfPurchaseMoney(BigDecimal selfPurchaseMoney) {
        this.selfPurchaseMoney = selfPurchaseMoney;
    }

    public String getShareMoney() {
        return shareMoney;
    }

    public void setShareMoney(String shareMoney) {
        this.shareMoney = shareMoney;
    }

    public Integer getSaledStockQuantity() {
        return saledStockQuantity;
    }

    public void setSaledStockQuantity(Integer saledStockQuantity) {
        this.saledStockQuantity = saledStockQuantity;
    }

    public String getBrandName() {
        return brandName;
    }

    public void setBrandName(String brandName) {
        this.brandName = brandName;
    }

    public BigDecimal getMinGoodsPrice() {
        return minGoodsPrice;
    }

    public void setMinGoodsPrice(BigDecimal minGoodsPrice) {
        this.minGoodsPrice = minGoodsPrice;
    }

    public BigDecimal getMaxGoodsPrice() {
        return maxGoodsPrice;
    }

    public void setMaxGoodsPrice(BigDecimal maxGoodsPrice) {
        this.maxGoodsPrice = maxGoodsPrice;
    }

    public BigDecimal getMinGoodsMarketprice() {
        return minGoodsMarketprice;
    }

    public void setMinGoodsMarketprice(BigDecimal minGoodsMarketprice) {
        this.minGoodsMarketprice = minGoodsMarketprice;
    }

    public BigDecimal getMaxGoodsMarketprice() {
        return maxGoodsMarketprice;
    }

    public void setMaxGoodsMarketprice(BigDecimal maxGoodsMarketprice) {
        this.maxGoodsMarketprice = maxGoodsMarketprice;
    }

    public Boolean getFavorites() {
        return favorites;
    }

    public void setFavorites(Boolean favorites) {
        this.favorites = favorites;
    }

    public GoodsActivityVO getGoodsActivityVO() {
        return goodsActivityVO;
    }

    public void setGoodsActivityVO(GoodsActivityVO goodsActivityVO) {
        this.goodsActivityVO = goodsActivityVO;
    }

    public CommentApiOneResponse getCommentApiOneResponse() {
        return commentApiOneResponse;
    }

    public void setCommentApiOneResponse(CommentApiOneResponse commentApiOneResponse) {
        this.commentApiOneResponse = commentApiOneResponse;
    }

    public Boolean getGoodsState() {
        return goodsState;
    }

    public void setGoodsState(Boolean goodsState) {
        this.goodsState = goodsState;
    }

    public MemberVO getMember() {
        return member;
    }

    public void setMember(MemberVO member) {
        this.member = member;
    }

    public BigDecimal getFreeGoodsPrice() {
        return freeGoodsPrice;
    }

    public void setFreeGoodsPrice(BigDecimal freeGoodsPrice) {
        this.freeGoodsPrice = freeGoodsPrice;
    }

    public Integer getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(Integer goodsType) {
        this.goodsType = goodsType;
    }

    public Integer getIsImport() {
        return isImport;
    }

    public void setIsImport(Integer isImport) {
        this.isImport = isImport;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }
}
